float MahaDist (d0,d1,d2,CoInv)
float d0,d1,d2;
float CoInv[3][3];
{
   return(
     (float)d0 * (CoInv[0][0] * (float)d0 + CoInv[1][0] * (float)d1 + CoInv[2][0] * (float)d2) +
     (float)d1 * (CoInv[0][1] * (float)d0 + CoInv[1][1] * (float)d1 + CoInv[2][1] * (float)d2) +
     (float)d2 * (CoInv[0][2] * (float)d0 + CoInv[1][2] * (float)d1 + CoInv[2][2] * (float)d2)
   );
}
